<template>
	<view :style="themeColor">
		<view class="page">
			<view
				class="flex flex-direction flex-wrap align-stretch justify-center benben-position-layout flex myInfo_flex_0"
				:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx', }">
				<view class='flex flex-wrap align-stretch justify-between myInfo_fd0_0'>
					<view class='flex flex-wrap align-center myInfo_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back"
						data-url="1">
						<image class='myInfo_fd0_0_c0_c0' mode="aspectFit" src='https://paiaifalv.oss-cn-beijing.aliyuncs.com/images/55.png'></image>
					</view>
					<view class='flex flex-wrap align-center'>
						<text class='myInfo_fd0_0_c1_c0'>我的资料</text>
					</view>
					<view class='flex align-center justify-end myInfo_fd0_0_c2'>
					</view>
				</view>

			</view>
			<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
			<!---我的资料flex布局开始-->
			<view class="flex flex-direction flex-wrap align-stretch">
				<view class='flex flex-direction align-stretch myInfo_fd1_0'>
					<view class='flex flex-wrap align-center myInfo_fd1_0_c0'>
						<text class='myInfo_fd1_0_c0_c0'>头像</text>
						<view class="upload position-relative myInfo_fd1_0_c0_c1">
							<image class=" myInfo_fd1_0_c0_c1_image" mode="aspectFit"
								@tap="croppingUploadImage('avatar','avatar',dataDetails,dataDetails)"
								:src="dataDetails.avatar ? dataDetails.avatar :'https://paiaifalv.oss-cn-beijing.aliyuncs.com/images/56.png'"></image>
						</view>
						<image class='myInfo_fd1_0_c0_c2' mode="aspectFit" src='https://paiaifalv.oss-cn-beijing.aliyuncs.com/images/57.png'></image>
					</view>
					<view class='flex flex-wrap align-center justify-between myInfo_fd1_0_c1' @tap.stop="handleJumpDiy"
					data-type="navigateTo" :data-url="`/pages/grzx/editNameX/editNameX`">
						<text class='myInfo_fd1_0_c0_c0'>昵称</text>
						<view class='flex flex-wrap align-center'>
							<text class='myInfo_fd1_0_c1_c2_c0'>{{dataDetails.nickname}}</text>
							<text class='fu-iconfont2  myInfo_fd1_0_c1_c2_c1'>&#xe7f2;</text>
						</view>
					</view>
					<view class='flex flex-wrap align-center justify-between myInfo_fd1_0_c1'>
						<text class='myInfo_fd1_0_c0_c0'>绑定手机</text>
						<text class='myInfo_fd1_0_c2_c2'>{{dataDetails._mobile}}</text>
						<!-- <button type="default" style="background-color: rgba(38, 191, 1, 1);color: #fff;font-size: 32rpx; width: 686rpx;border-radius:8rpx;margin-top: 32rpx;"
							open-type="getPhoneNumber" @getphonenumber="decryptPhoneNumber">获取手机号</button> -->
					</view>
				</view>
				<view class='flex flex-wrap align-center justify-center myInfo_fd1_1'>
					<button class='myInfo_fd1_1_c0' @tap.stop="editUserFunc()">保存</button>
				</view>
			</view>

			<!---我的资料flex布局结束-->
			<!--选择生日开始 -->
			<benben-picker ref="benbenWritePickerCodepicker2" :visible.sync="pickerDiy1656986153485"
				:value.sync='dataDetails.birthday' mode='date' :picker-height='88' :current='true' :mask-show='true'
				fields='day' :timeout='true' start-year='1990-01-01' end-year='现在'>
				<template #picker-header>
					<view class='flex flex-wrap align-center justify-between myInfo_picker2_0'>
						<text class='myInfo_picker2_0_c0' @tap="$refs.benbenWritePickerCodepicker2.cancel()">取消</text>
						<text class='myInfo_picker2_0_c1'>选择日期</text>
						<text class='myInfo_picker2_0_c2'
							@tap="$refs.benbenWritePickerCodepicker2.pickerConfirm()">确定</text>
					</view>
				</template>
			</benben-picker>
			<!--选择生日结束 -->
			<!--选择性别开始 -->
			<benben-picker ref="benbenWritePickerCodepicker3" :visible.sync="pickerDiy1656985489961" :label.sync='sex'
				:value.sync='dataDetails.gender' :options='sexType' mode='selector' :mask-show='true' :timeout='true'
				:picker-height='88' default-type='value' :default-props='{"label":"name","value":"value"}'>
				<template #picker-header>
					<view class='flex flex-wrap align-center justify-between myInfo_picker3_0'>
						<text class='myInfo_picker3_0_c0' @tap="$refs.benbenWritePickerCodepicker3.cancel()">取消</text>
						<text class='myInfo_picker3_0_c1'>选择性别</text>
						<text class='myInfo_picker3_0_c2'
							@tap="$refs.benbenWritePickerCodepicker3.pickerConfirm()">确定</text>
					</view>
				</template>
			</benben-picker>
			<!--选择性别结束 -->
		</view>
	</view>
</template>
<script>
	import UploadImage from '@/common/utils/upload-image.js'
	import {
		validate
	} from '@/common/utils/validate.js'

	export default {
		components: {},


		data() {
			return {
				"pickerDiy1656985489961": false,
				"pickerDiy1656986153485": false,
				"sexType": [{
					"name": "保密",
					"value": "0",
					"image": ""
				}, {
					"name": "男",
					"value": "1",
					"image": ""
				}, {
					"name": "女",
					"value": "2",
					"image": ""
				}],
				"editUser": {},
				"dataDetails": {
					"invite_code": "",
					"address": "",
					"address_code": "",
					"hobby": "",
					"tags": "",
					"id": "",
					"userlevel_id": "",
					"mobile": "",
					"real_name": "",
					"avatar": "",
					"account": "",
					"email": "",
					"birthday": "",
					"gender": "",
					"create_time": "",
					"user_money": "",
					"freeze_money": "",
					"total_consumption_money": "",
					"score": "",
					"_mobile": "",
					"coupon": "",
					"collection_count": "",
					"browse_count": "",
					"total_money": "",
					"certified": "",
					"nickname": "",
					"is_pay_password": "",
					"follow_count": ""
				},
				"dataMessage": {
					"userinfo": {
						"id": "",
						"avatar": "",
						"real_name": "",
						"nickname": "",
						"email": "",
						"gender": "",
						"mobile": "",
						"birthday": "",
						"client_id": "",
						"phone": ""
					}
				},
				"sex": "",
				"isCheck": false
			};
		},
		computed: {
			themeColor() {
				return this.$store.getters.themeColor
			},
			userInfo: {
				get() {
					return this.$store.state.userInfo
				},
				set() {
					this.$store.commit('updateUserInfo', value)
				},
			}
		},
		watch: {},
		onLoad(options) {
			this.getUserinfoFunc()
			this.diyPageListen()
		},
		onUnload() {
			this.diyOffPageListen()
		},
		onReady() {

		},
		onShow() {

		},
		onHide() {

		},
		onResize() {

		},
		onPullDownRefresh() {

		},
		onReachBottom(e) {

		},
		onPageScroll(e) {

		},
		methods: {
			//裁剪图片上传
			croppingUploadImage(id, path, obj, obj1, fnName = false) {
				let self = this
				if (!obj) obj = this
				if (!obj1) obj1 = this
				let itemList = obj1[path] ? ['修改头像', '拍照', '从手机相册选择'] : ['拍照', '从手机相册选择']

				function imageCroppingCuccess() {
					uni.$once('image-cropping-success', (file) => {
						if (!file) return
						new UploadImage([file], {
							complete: (res) => {
								if (id) self.$set(obj, id, res[0].id)
								if (path) self.$set(obj1, path, res[0].path)
								if (fnName) self[fnName]()
							},
						})
					})
				}
				uni.showActionSheet({
					itemList: itemList,
					success: function(res) {
						if (res.tapIndex == 0 && obj1[path]) {
							uni.navigateTo({
								url: '/pages/benben-built-in/image-cropping/image-cropping?rectHeight=200&rectWidth=200&&myImgUrl=' +
									obj1[path],
								animationDuration: 0,
							})
							imageCroppingCuccess()
						}
						if ((res.tapIndex == 1 && obj1[path]) || (res.tapIndex == 0 && !obj1[path])) {
							uni.chooseImage({
								count: 1,
								sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
								sourceType: ['camera'], // 可以指定来源是相册还是相机，默认二者都有
								success: (res) => {
									// 跳转到图片裁切页面
									uni.navigateTo({
										url: `/pages/benben-built-in/image-cropping/image-cropping?rectHeight=200&rectWidth=200&fileType=${res.tempFiles[0].type}&myImgUrl=${res.tempFilePaths[0]}`,
										animationDuration: 0,
									})
									imageCroppingCuccess()
								},
							})
						}
						if ((res.tapIndex == 2 && obj1[path]) || (res.tapIndex == 1 && !obj1[path])) {
							uni.chooseImage({
								count: 1,
								sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
								sourceType: ['album'], // 可以指定来源是相册还是相机，默认二者都有
								success: (res) => {
									// 跳转到图片裁切页面
									uni.navigateTo({
										url: `/pages/benben-built-in/image-cropping/image-cropping?rectHeight=200&rectWidth=200&fileType=${res.tempFiles[0].type}&myImgUrl=${res.tempFilePaths[0]}`,
										animationDuration: 0,
									})
									imageCroppingCuccess()
								},
							})
						}
					},
					fail: function(res) {
						console.log(res.errMsg)
					},
				})
			},
			//修改个人信息
			async editUserFunc() {
				let datadataMessage = await this.$api.post(global.apiUrls.post5cb54af125f1c, {
					avatar: this.dataDetails.avatar,
					
				});
				if (datadataMessage.data.code != 1) {
					this.$message.info(datadataMessage.data.msg);
					return
				}
				let infodataMessage = datadataMessage.data;
				this.dataMessage = infodataMessage.data
				setTimeout(() => {
					this.isCheck = false;
				}, 500)
				this.$message.info('保存成功');
				setTimeout(() => {
					this.$urouter.navigateBack(1);
				}, 800)
			},
			
			//获取个人信息
			async getUserinfoFunc(data) {
				let datadataDetails = await this.$api.get(global.apiUrls.post5c78c4772da97, {

				});
				if (datadataDetails.data.code != 1) {
					this.$message.info(datadataDetails.data.msg);
					return
				}
				let infodataDetails = datadataDetails.data;
				if (data) {
					this.dataDetails.nickname = infodataDetails.data.nickname
				} else {
					this.dataDetails = infodataDetails.data
					if (this.dataDetails.gender == '1') {
						this.sex = '男';
					} else if (this.dataDetails.gender == '2') {
						this.sex = '女';
					} else {
						this.sex = '保密';
					}
				}
			},
			//页面监听
			diyPageListen() {
				uni.$on('chengeName', (data) => {
					this.getUserinfoFunc(data)
				});
			},
			//注销页面监听
			diyOffPageListen() {
				uni.$off('chengeName');
			},
			
			//获取手机号码登录方法
			decryptPhoneNumber(e) {
				let _this = this;
				uni.login({
					provider: 'weixin',
					success: function(res) {
						_this.$api.post(global.apiUrls.post5d7757d28d076, {
							third_type:"wx_miniapp",
							account_type:"mobile",
							code: res.code,
							openid:_this.wxinfo.openid,
							iv: e.detail.iv,
							encrypteddata:e.detail.encryptedData,
						}).then(etr => {
							if (etr.data.code == 1) {
								uni.setStorageSync("token", etr.data.data.userinfo.user_token)
								// setTimeout(function(){
								// 	uni.switchTab({
								// 		url:"/pages/tabBar/shouye/shouye"
								// 	})
								// },500)
								if(etr.data.data.userinfo.userlevel_id==0){
									_this.jueseshow = true;
									return
								}else{
									setTimeout(function(){
										uni.switchTab({
											url:"/pages/tabBar/shouye/shouye"
										})
									},500)
								}
							}else{
								uni.showToast({
									title: etr.data.msg,
									icon: 'none',
									duration: 2000
								});
							}
						}).catch((err) => {
							console.log(err);
						});
					}
				});
			},
		}
	};
</script>
<style lang="scss" scoped>
	.page {
		width: 100vw;
		overflow-x: hidden;
		min-height: calc(100vh - var(--window-bottom));
		background: #eee;
		background-size: 100% auto;
	}

	.myInfo_flex_0 {
		background: #fff;
		width: 750rpx;
		height: 88rpx;
		overflow: hidden;
		z-index: 10;
		top: 0rpx;
		background-size: 100% auto !important;
	}

	.myInfo_fd0_0_c2 {
		padding: 0rpx 0rpx 0rpx 0rpx;
		width: 100rpx;
	}

	.myInfo_fd0_0_c1_c0 {
		font-size: 36rpx;
		font-weight: 500;
		color: #333333;
		line-height: 50rpx;
	}

	.myInfo_fd0_0_c0_c0 {
		width: 18rpx;
		height: 32rpx;
		border-radius: 0rpx 0rpx 0rpx 0rpx;
	}

	.myInfo_fd0_0_c0 {
		width: 100rpx;
	}

	.myInfo_fd0_0 {
		padding: 0rpx 32rpx 0rpx 32rpx;
		line-height: 88rpx;
	}

	.myInfo_fd1_1_c0 {
		background: rgba(38, 191, 1, 1);
		border-radius:16rpx;
		font-size: 32rpx;
		color: #fff;
		width: 686rpx;
		height: 88rpx;
		line-height: 88rpx;
	}

	.myInfo_fd1_1 {
		position: fixed;
		left: 0rpx;
		bottom: calc(40rpx + var(--window-bottom));
		width: 750rpx;
	}

	.myInfo_fd1_0_c2_c2 {
		color: #333333;
		font-size: 24rpx;
		font-weight: 400;
	}

	.myInfo_fd1_0_c1_c2_c1 {
		color: rgba(187, 187, 187, 1);
	}

	.myInfo_fd1_0_c1_c2_c0 {
		color: #333333;
		font-size: 28rpx;
		font-weight: 400;
	}

	.myInfo_fd1_0_c1 {
		border-bottom: 1px solid #eee;
		padding: 32rpx 0rpx 32rpx 0rpx;
	}

	.myInfo_fd1_0_c0_c2 {
		width: 20rpx;
		height: 28rpx;
		border-radius: 0rpx 0rpx 0rpx 0rpx;
		margin: 0rpx 0rpx 0rpx 12rpx;
	}

	.myInfo_fd1_0_c0_c1_image {
		width: 100rpx;
		height: 100rpx;
		border-radius: 50rpx 50rpx 50rpx 50rpx;
	}

	.myInfo_fd1_0_c0_c1 {
		width: 100rpx;
		height: 100rpx;
		border-radius: 50rpx 50rpx 50rpx 50rpx;
		margin: 0rpx 0rpx 0rpx auto;
	}

	.myInfo_fd1_0_c0_c0 {
		font-size: 32rpx;
		font-weight: 400;
		color: rgba(51, 51, 51, 1);
	}

	.myInfo_fd1_0_c0 {
		border-bottom: 1px solid #eee;
		line-height: 148rpx;
	}

	.myInfo_fd1_0 {
		background: #fff;
		padding: 0rpx 32rpx 0rpx 32rpx;
		background-size: 100% auto !important;
		margin: 0rpx 0rpx 150rpx 0rpx;
	}

	.myInfo_picker2_0_c2 {
		color: var(--benbenFontColor5);
		line-height: 40rpx;
		font-size: 32rpx;
		font-weight: 500;
	}

	.myInfo_picker2_0_c1 {
		font-size: 32rpx;
		font-weight: 400;
		color: #333333;
	}

	.myInfo_picker2_0_c0 {
		line-height: 40rpx;
		font-size: 32rpx;
		font-weight: 500;
		color: var(--benbenFontColor1);
	}

	.myInfo_picker2_0 {
		border-bottom: 1px solid #eee;
		background: #fff;
		padding: 0rpx 32rpx 0rpx 32rpx;
		line-height: 88rpx;
		border-radius: 25rpx 25rpx 0rpx 0rpx;
		background-size: 100% auto !important;
	}

	.myInfo_picker3_0_c2 {
		color: var(--benbenFontColor5);
		line-height: 40rpx;
		font-size: 32rpx;
		font-weight: 500;
	}

	.myInfo_picker3_0_c1 {
		font-size: 32rpx;
		font-weight: 400;
		color: #333333;
	}

	.myInfo_picker3_0_c0 {
		line-height: 40rpx;
		font-size: 32rpx;
		font-weight: 500;
		color: #BFBFBF;
	}

	.myInfo_picker3_0 {
		border-bottom: 1px solid #eee;
		background: #fff;
		padding: 0rpx 32rpx 0rpx 32rpx;
		line-height: 88rpx;
		border-radius: 25rpx 25rpx 0rpx 0rpx;
		background-size: 100% auto !important;
	}
</style>